\hypertarget{classCCombinationIO}{
\section{\-C\-Combination\-I\-O \-Class \-Reference}
\label{classCCombinationIO}\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}}
}


{\ttfamily \#include $<$combination\-\_\-io.\-h$>$}

\-Inheritance diagram for \-C\-Combination\-I\-O\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classCCombinationIO}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCCombinationIO_ab7004a4c926e93f4c6cc5ec4030e5aae}{\-C\-Combination\-I\-O} (\hyperlink{classISampleIO}{\-I\-Sample\-I\-O} $\ast$p\-Read\-I\-O, \hyperlink{classISampleIO}{\-I\-Sample\-I\-O} $\ast$p\-Write\-I\-O)
\item 
virtual \hyperlink{classCCombinationIO_a4770f13c9af14ff2d668ad70cad676af}{$\sim$\-C\-Combination\-I\-O} ()
\item 
virtual int \hyperlink{classCCombinationIO_a0155abeb6b2f6153ebfc43792c577b26}{init} (\hyperlink{properties__reader_8h_a67847fd00cb49d80dd45f61722eb9a43}{\-C\-Properties\-Reader} $\ast$p\-Config)
\item 
virtual int \hyperlink{classCCombinationIO_a11a6c73563adff523cfa7c6863a67061}{destroy} ()
\item 
virtual int \hyperlink{classCCombinationIO_a0926c69c58cd37780e4a7bde9ccfca6f}{read} (void $\ast$$\ast$p\-Data, \hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \&p\-Action, int p\-Timeout=1000)
\item 
virtual int \hyperlink{classCCombinationIO_a0bd3758c2cfbcd82fc46f15932db414f}{write} (void $\ast$p\-Data, const \hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \&p\-Action, int p\-Length)
\item 
virtual \hyperlink{structNAudioFormats_1_1SStreamInfo}{\-N\-Audio\-Formats\-::\-S\-Stream\-Info} \hyperlink{classCCombinationIO_ab8d6d2fba0bc1942d629032995f6911d}{get\-Stream\-Info} ()
\end{DoxyCompactItemize}
\subsection*{\-Private \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCCombinationIO_aed236eeb261c0293781ec58930ebf25e}{\-C\-Combination\-I\-O} (const \hyperlink{classCCombinationIO}{\-C\-Combination\-I\-O} \&)
\item 
\hyperlink{classCCombinationIO}{\-C\-Combination\-I\-O} \& \hyperlink{classCCombinationIO_a736ce7a4dedb44e420f53da2f5d3b044}{operator=} (const \hyperlink{classCCombinationIO}{\-C\-Combination\-I\-O} \&)
\item 
double $\ast$ \hyperlink{classCCombinationIO_a03aa9864a87b38838c7baf245d073eae}{get\-Double\-Buffer} (int p\-Sample\-Length)
\item 
void $\ast$ \hyperlink{classCCombinationIO_aafa5849b61e646eac3c0c231691f70ee}{get\-Byte\-Buffer} (int p\-Byte\-Length)
\end{DoxyCompactItemize}
\subsection*{\-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classISampleIO}{\-I\-Sample\-I\-O} $\ast$ \hyperlink{classCCombinationIO_af11b90e1833084efb6c17810746157ad}{m\-Read\-I\-O}
\item 
\hyperlink{classISampleIO}{\-I\-Sample\-I\-O} $\ast$ \hyperlink{classCCombinationIO_a3f373c95a437555df0ca2146026e1ed2}{m\-Write\-I\-O}
\item 
bool \hyperlink{classCCombinationIO_a65d253b71d0d7b7a2d7cec68dbcf2e82}{m\-Recoding}
\item 
\hyperlink{classICodec}{\-I\-Codec} $\ast$ \hyperlink{classCCombinationIO_a088a4d38e15f29eddb7c91574cd4bcdf}{m\-Read\-Codec}
\item 
\hyperlink{classICodec}{\-I\-Codec} $\ast$ \hyperlink{classCCombinationIO_a66d905bd1b4d126ae78da42e50d9c273}{m\-Write\-Codec}
\item 
double $\ast$ \hyperlink{classCCombinationIO_a8c91d8e6ae20994fc48c14fd1f38eb63}{m\-Double\-Sample\-Buf}
\item 
int \hyperlink{classCCombinationIO_a319e569a77f71ad6aaf8c1392d348ea4}{m\-Double\-Sample\-Count}
\item 
char $\ast$ \hyperlink{classCCombinationIO_a9fe75d308a71cd021a666fb38477235a}{m\-Byte\-Buf}
\item 
int \hyperlink{classCCombinationIO_ac7a39e4cda851ea685b1ed8cb39f1983}{m\-Byte\-Count}
\end{DoxyCompactItemize}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classCCombinationIO_ab7004a4c926e93f4c6cc5ec4030e5aae}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}}
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{\-C\-Combination\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Combination\-I\-O\-::\-C\-Combination\-I\-O (
\begin{DoxyParamCaption}
\item[{{\bf \-I\-Sample\-I\-O} $\ast$}]{p\-Read\-I\-O, }
\item[{{\bf \-I\-Sample\-I\-O} $\ast$}]{p\-Write\-I\-O}
\end{DoxyParamCaption}
)}}
\label{classCCombinationIO_ab7004a4c926e93f4c6cc5ec4030e5aae}
\hypertarget{classCCombinationIO_a4770f13c9af14ff2d668ad70cad676af}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!$\sim$\-C\-Combination\-I\-O@{$\sim$\-C\-Combination\-I\-O}}
\index{$\sim$\-C\-Combination\-I\-O@{$\sim$\-C\-Combination\-I\-O}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{$\sim$\-C\-Combination\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Combination\-I\-O\-::$\sim$\-C\-Combination\-I\-O (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCCombinationIO_a4770f13c9af14ff2d668ad70cad676af}
\hypertarget{classCCombinationIO_aed236eeb261c0293781ec58930ebf25e}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}}
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{\-C\-Combination\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Combination\-I\-O\-::\-C\-Combination\-I\-O (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-Combination\-I\-O} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_aed236eeb261c0293781ec58930ebf25e}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classCCombinationIO_a11a6c73563adff523cfa7c6863a67061}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!destroy@{destroy}}
\index{destroy@{destroy}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{destroy}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Combination\-I\-O\-::destroy (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCCombinationIO_a11a6c73563adff523cfa7c6863a67061}


\-Implements \hyperlink{classISampleIO_a4a3ef7be5c5abba7f9993913380cb14f}{\-I\-Sample\-I\-O}.

\hypertarget{classCCombinationIO_aafa5849b61e646eac3c0c231691f70ee}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!get\-Byte\-Buffer@{get\-Byte\-Buffer}}
\index{get\-Byte\-Buffer@{get\-Byte\-Buffer}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{get\-Byte\-Buffer}]{\setlength{\rightskip}{0pt plus 5cm}void $\ast$ \-C\-Combination\-I\-O\-::get\-Byte\-Buffer (
\begin{DoxyParamCaption}
\item[{int}]{p\-Byte\-Length}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_aafa5849b61e646eac3c0c231691f70ee}
\hypertarget{classCCombinationIO_a03aa9864a87b38838c7baf245d073eae}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!get\-Double\-Buffer@{get\-Double\-Buffer}}
\index{get\-Double\-Buffer@{get\-Double\-Buffer}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{get\-Double\-Buffer}]{\setlength{\rightskip}{0pt plus 5cm}double $\ast$ \-C\-Combination\-I\-O\-::get\-Double\-Buffer (
\begin{DoxyParamCaption}
\item[{int}]{p\-Sample\-Length}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_a03aa9864a87b38838c7baf245d073eae}

\begin{DoxyParams}{\-Parameters}
{\em p\-Sample\-Length} & \-Count of double samples. \-If p\-Sample\-Length $<$= 0 then the intern buffer will be freed. \\
\hline
\end{DoxyParams}
\hypertarget{classCCombinationIO_ab8d6d2fba0bc1942d629032995f6911d}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!get\-Stream\-Info@{get\-Stream\-Info}}
\index{get\-Stream\-Info@{get\-Stream\-Info}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{get\-Stream\-Info}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-N\-Audio\-Formats\-::\-S\-Stream\-Info} \-C\-Combination\-I\-O\-::get\-Stream\-Info (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCCombinationIO_ab8d6d2fba0bc1942d629032995f6911d}


\-Implements \hyperlink{classISampleIO_a9e43c9190bd486f654f930aa49af48d1}{\-I\-Sample\-I\-O}.

\hypertarget{classCCombinationIO_a0155abeb6b2f6153ebfc43792c577b26}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!init@{init}}
\index{init@{init}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Combination\-I\-O\-::init (
\begin{DoxyParamCaption}
\item[{{\bf \-C\-Properties\-Reader} $\ast$}]{p\-Config}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCCombinationIO_a0155abeb6b2f6153ebfc43792c577b26}
\begin{DoxyNote}{\-Note}
\-The instance of the properties reader will be freed (delete) by the main programm and is not allowed by the deconstructor of an inherit \-I\-O class.
\end{DoxyNote}

\begin{DoxyParams}{\-Parameters}
{\em p\-Config} & pointer to the properties reader \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
0 on success, -\/1 otherwise 
\end{DoxyReturn}


\-Implements \hyperlink{classISampleIO_ab8ef7dd9048d0944d3c5f50329e0874d}{\-I\-Sample\-I\-O}.

\hypertarget{classCCombinationIO_a736ce7a4dedb44e420f53da2f5d3b044}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!operator=@{operator=}}
\index{operator=@{operator=}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-Combination\-I\-O}\& \-C\-Combination\-I\-O\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-Combination\-I\-O} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_a736ce7a4dedb44e420f53da2f5d3b044}
\hypertarget{classCCombinationIO_a0926c69c58cd37780e4a7bde9ccfca6f}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!read@{read}}
\index{read@{read}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Combination\-I\-O\-::read (
\begin{DoxyParamCaption}
\item[{void $\ast$$\ast$}]{p\-Data, }
\item[{{\bf \-E\-Action} \&}]{p\-Action, }
\item[{int}]{p\-Timeout = {\ttfamily 1000}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCCombinationIO_a0926c69c58cd37780e4a7bde9ccfca6f}

\begin{DoxyParams}{\-Parameters}
{\em p\-Data} & \-Array of bytes, read from media. \-The buffer for data will be provided by the read method. \-Therefore a void$\ast$$\ast$ and not a void$\ast$ is needed. \\
\hline
{\em p\-Action} & displays what has to be done, it also enables the direction from which data came from \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
number of bytes read, 0 for \-E\-O\-F and -\/1 for a timeout or an error 
\end{DoxyReturn}


\-Implements \hyperlink{classISampleIO_a5843d1feda7bfffb86dd260a08f5516d}{\-I\-Sample\-I\-O}.

\hypertarget{classCCombinationIO_a0bd3758c2cfbcd82fc46f15932db414f}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!write@{write}}
\index{write@{write}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Combination\-I\-O\-::write (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Data, }
\item[{const {\bf \-E\-Action} \&}]{p\-Action, }
\item[{int}]{p\-Length}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCCombinationIO_a0bd3758c2cfbcd82fc46f15932db414f}

\begin{DoxyParams}{\-Parameters}
{\em p\-Data} & \-Address of the \-Buffer which will be written to the media. \\
\hline
{\em p\-Action} & displays what has to be done, it also enables the direction from which data came from \\
\hline
{\em p\-Length} & \-Length/\-Size of the buffer (unit\-: byte) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
number of bytes written or -\/1 for an error 
\end{DoxyReturn}


\-Implements \hyperlink{classISampleIO_ae2026aece7114980b715076b45b906f9}{\-I\-Sample\-I\-O}.



\subsection{\-Member \-Data \-Documentation}
\hypertarget{classCCombinationIO_a9fe75d308a71cd021a666fb38477235a}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!m\-Byte\-Buf@{m\-Byte\-Buf}}
\index{m\-Byte\-Buf@{m\-Byte\-Buf}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{m\-Byte\-Buf}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf \-C\-Combination\-I\-O\-::m\-Byte\-Buf}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_a9fe75d308a71cd021a666fb38477235a}
\hypertarget{classCCombinationIO_ac7a39e4cda851ea685b1ed8cb39f1983}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!m\-Byte\-Count@{m\-Byte\-Count}}
\index{m\-Byte\-Count@{m\-Byte\-Count}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{m\-Byte\-Count}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-C\-Combination\-I\-O\-::m\-Byte\-Count}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_ac7a39e4cda851ea685b1ed8cb39f1983}
\hypertarget{classCCombinationIO_a8c91d8e6ae20994fc48c14fd1f38eb63}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!m\-Double\-Sample\-Buf@{m\-Double\-Sample\-Buf}}
\index{m\-Double\-Sample\-Buf@{m\-Double\-Sample\-Buf}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{m\-Double\-Sample\-Buf}]{\setlength{\rightskip}{0pt plus 5cm}double$\ast$ {\bf \-C\-Combination\-I\-O\-::m\-Double\-Sample\-Buf}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_a8c91d8e6ae20994fc48c14fd1f38eb63}
\hypertarget{classCCombinationIO_a319e569a77f71ad6aaf8c1392d348ea4}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!m\-Double\-Sample\-Count@{m\-Double\-Sample\-Count}}
\index{m\-Double\-Sample\-Count@{m\-Double\-Sample\-Count}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{m\-Double\-Sample\-Count}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-C\-Combination\-I\-O\-::m\-Double\-Sample\-Count}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_a319e569a77f71ad6aaf8c1392d348ea4}
\hypertarget{classCCombinationIO_a088a4d38e15f29eddb7c91574cd4bcdf}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!m\-Read\-Codec@{m\-Read\-Codec}}
\index{m\-Read\-Codec@{m\-Read\-Codec}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{m\-Read\-Codec}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-I\-Codec}$\ast$ {\bf \-C\-Combination\-I\-O\-::m\-Read\-Codec}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_a088a4d38e15f29eddb7c91574cd4bcdf}
\hypertarget{classCCombinationIO_af11b90e1833084efb6c17810746157ad}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!m\-Read\-I\-O@{m\-Read\-I\-O}}
\index{m\-Read\-I\-O@{m\-Read\-I\-O}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{m\-Read\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-I\-Sample\-I\-O}$\ast$ {\bf \-C\-Combination\-I\-O\-::m\-Read\-I\-O}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_af11b90e1833084efb6c17810746157ad}
\hypertarget{classCCombinationIO_a65d253b71d0d7b7a2d7cec68dbcf2e82}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!m\-Recoding@{m\-Recoding}}
\index{m\-Recoding@{m\-Recoding}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{m\-Recoding}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-C\-Combination\-I\-O\-::m\-Recoding}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_a65d253b71d0d7b7a2d7cec68dbcf2e82}
\hypertarget{classCCombinationIO_a66d905bd1b4d126ae78da42e50d9c273}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!m\-Write\-Codec@{m\-Write\-Codec}}
\index{m\-Write\-Codec@{m\-Write\-Codec}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{m\-Write\-Codec}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-I\-Codec}$\ast$ {\bf \-C\-Combination\-I\-O\-::m\-Write\-Codec}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_a66d905bd1b4d126ae78da42e50d9c273}
\hypertarget{classCCombinationIO_a3f373c95a437555df0ca2146026e1ed2}{
\index{\-C\-Combination\-I\-O@{\-C\-Combination\-I\-O}!m\-Write\-I\-O@{m\-Write\-I\-O}}
\index{m\-Write\-I\-O@{m\-Write\-I\-O}!CCombinationIO@{\-C\-Combination\-I\-O}}
\subsubsection[{m\-Write\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-I\-Sample\-I\-O}$\ast$ {\bf \-C\-Combination\-I\-O\-::m\-Write\-I\-O}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCCombinationIO_a3f373c95a437555df0ca2146026e1ed2}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{combination__io_8h}{combination\-\_\-io.\-h}\item 
\hyperlink{combination__io_8cxx}{combination\-\_\-io.\-cxx}\end{DoxyCompactItemize}
